#include <iostream>

// 模板元函数计算斐波那契数
template <int N>
struct Fibonacci {
    static const int value = Fibonacci<N - 1>::value + Fibonacci<N - 2>::value;
};

// 特化斐波那契数列的前两项
template <>
struct Fibonacci<0> {
    static const int value = 0;
};

template <>
struct Fibonacci<1> {
    static const int value = 1;
};

int main() {
    // 输出第10项斐波那契数
    std::cout << "Fibonacci 10: " << Fibonacci<10>::value << std::endl;
    return 0;
}